package com.sugon.util;

/**
 * 自定义注解一定要实现ConstraintValidator接口奥，里面的两个参数
 * 第一个为 具体要校验的注解
 * 第二个为 校验的参数类型
 *
 * @author luoyuan
 * @create 2018-11-19-下午10:15
 */

import org.springframework.util.StringUtils;

import javax.validation.*;

public class ForbiddenValidator implements ConstraintValidator<Forbidden, String> {

    private String[] forbiddenWords = {"admin", "safeadmin"};

    ////初始化，得到注解数据
    @Override
    public void initialize(Forbidden constraintAnnotation) {
    }

    //自定义的数据验证判断
    @Override
    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
        if (StringUtils.isEmpty(value)) {
            return true;
        }
        for (String word : forbiddenWords) {
            if (value.contains(word)) {
                //验证失败
                return false;
            }
        }
        return true;
    }
}



